home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Graphics / Plotting / nxyplot / Source / PlotView.h < prev    next >
Encoding:
Text File  |  1995-06-12  |  4.9 KB  |  143 lines

  1.  
  2. /* Generated by Interface Builder */
  3.  
  4. #import <appkit/View.h>
  5. #import <appkit/Application.h>
  6. #import <appkit/PrintInfo.h>
  7. #import <dpsclient/wraps.h>
  8. #import <appkit/Font.h>
  9. #import <appkit/FontManager.h>
  10. #import <appkit/publicWraps.h>  /* for NXBeep */
  11. #import <appkit/drag.h>
  12.  
  13. @interface PlotView:View
  14. {
  15.   id     plotParam;
  16.   id     theFontManager;
  17.   id     newLegendFont;
  18.   id     newLegendTitleFont;
  19.   id     newXTitleFont;
  20.   id     newYTitleFont;
  21.   id     newMainTitleFont;
  22.   id     newTicLabelFont;
  23.   id     handFormatXaxis;
  24.   id     handFormatYaxis;
  25.   id     xFormatLeft;
  26.   id     xFormatRight;
  27.   id     xFormatExponent;
  28.   id     yFormatLeft;
  29.   id     yFormatRight;
  30.   id     yFormatExponent;
  31.   id     printPanelAccessory;    /* the accessory view for the print panel */
  32.   id     ticMarkLocation;    /* button over the tic mark location popup list */
  33.   id     ticMarkLengthText;    /* the tic mark length text field */
  34.   id     ticMarkThicknessText;    /* the tic mark thickness text field */
  35.   id     borderBoxThicknessText;/* the border box thickness text field */
  36.   id     gridThicknessText;    /* the grid thickness text field */
  37.   id     frameBoxThicknessText;    /* the frame box thickness text field */
  38.   id     axisThicknessText;    /* the axis thickness text field */
  39.   id     lineThicknessText;    /* the line thickness text field */
  40.   id     symbolSizeText;    /* the symbol size text field */
  41.   id     zoomChoice;        /* button over the zoom/move popup list */
  42.   id     majorTicMarksOnOff;    /* major tic marks on/off button */
  43.   id     minorTicMarksOnOff;    /* minor tic marks on/off button */
  44.   id     axesOnOff;        /* axes on/off button */
  45.   id     borderBoxOnOff;    /* border box on/off button */
  46.   id     frameBoxOnOff;        /* frame box on/off button */
  47.   id     gridOnOff;        /* grid on/off button */
  48.   id     gridDotted;        /* grid dotted/solid button */
  49.   id     legendBoxOnOff;    /* legend box on/off button */
  50.   id     legendOnOff;        /* legend on/off button */
  51.   id     xTitle;        /* x title form */
  52.   id     yTitle;        /* y title form */
  53.   id     mainTitle;        /* main title form */
  54.   id     legendTitle;        /* legend title form */
  55.   id     legendForm;        /* for the curve titles */
  56.   id     errorBarBaseWidth;    /* the error bar base width text field */
  57.   id     errorBarMatrix;    /* the error bar matrix */
  58.   id     legendOpaque;        /* the "Opaque" button on the legend panel */
  59.   id     opaqueBackgroundButton;/* the background button on the preferences panel */
  60.   id     accPrintColorButton;    /* the color/bw button on the print accessories panel */
  61.  
  62.   float  ppxunit, ppyunit;    /* pixels per xunit, pixels per y unit */
  63.   float  xlegend[2], **ylegend;    /* for legend drawing (fixed dimension here) */
  64.   BOOL   drawingLegendLines;
  65.   BOOL   drawingLegendSymbols;
  66.   NXRect legendbox;
  67.   NXRect xtitlebox, ytitlebox, maintitlebox;
  68.   NXRect oldbounds;
  69. }
  70.  
  71. - initFrame:(const NXRect *)frameRect;
  72. - clear:sender;
  73. - startPlot;
  74. - setDrawColor:(float) color;
  75. - drawLines:sender :(BOOL)xaxislog :(BOOL)yaxislog;
  76. - drawSymbols:sender :(BOOL)xaxislog :(BOOL)yaxislog;
  77. - drawErrorBars :(BOOL)xaxislog :(BOOL)yaxislog;
  78. - drawLegend:sender;
  79. - drawTicMarks:(float)xmin :(float)xmax :(float)ymin :(float)ymax;
  80. - startLegend;
  81. - doPrinting:sender;
  82. - (NXCoord *)xdata:(int)n;    /* provide data for drawing the curves */
  83. - (NXCoord **)ydata:(int)n;    /* and symbols in the legend box       */
  84. - (int)nPoints:(int)n;        /* provide no. of points to use in legend drawing */
  85. - (int)nCurves:(int)n;
  86. - (int)nFiles;
  87.  
  88. - (BOOL)has_ebars:(int)n;
  89.  
  90. - provideMainTitleFont;
  91. - provideXTitleFont;
  92. - provideYTitleFont;
  93. - provideLegendFont;
  94. - provideLegendTitleFont;
  95. - provideTicLabelFont;
  96. - (NXPoint) provideLegendBoxOrigin;
  97. - forceLegendBoxOrigin: (NXPoint)point;
  98. - (NXPoint) provideXTitleBoxOrigin;
  99. - forceXTitleBoxOrigin: (NXPoint)point;
  100. - (NXPoint) provideYTitleBoxOrigin;
  101. - forceYTitleBoxOrigin: (NXPoint)point;
  102. - (NXPoint) provideMainTitleBoxOrigin;
  103. - forceMainTitleBoxOrigin: (NXPoint)point;
  104.  
  105. - provideWindowFrame:(NXRect *)windowframe;
  106. - forceWindowFrame:(NXRect *)windowframe;
  107.  
  108. - forceMainTitleFont:(char *)fontname :(float)fontsize;
  109. - forceXTitleFont:(char *)fontname :(float)fontsize;
  110. - forceYTitleFont:(char *)fontname :(float)fontsize;
  111. - forceLegendFont:(char *)fontname :(float)fontsize;
  112. - forceLegendTitleFont:(char *)fontname :(float)fontsize;
  113. - forceTicLabelFont:(char *)fontname :(float)fontsize;
  114.  
  115. // Any subclass of View needs to implement its own drawSelf method
  116. - drawSelf: (const NXRect *)rects :(int)rectCount;
  117.  
  118. /*
  119.  * We implement the mouseDown method to allow zooming and also to allow
  120.  * moving the legend box.  We lean heavily on the code in the
  121.  * /NextDeveloper/Examples/Mandelbrot directory.
  122.  */
  123. - mouseDown:(NXEvent *)e;
  124.  
  125. - saveEPS:sender;
  126.  
  127. - savePSCode:(char *)aFile;
  128.  
  129. - copyPScode:sender;
  130.  
  131. @end
  132.  
  133. /* Dragging */
  134.  
  135. //extern BOOL IncludesType(const NXAtom *types, NXAtom type);
  136.  
  137. @interface PlotView(Drag)
  138.  
  139. - (NXDragOperation)draggingEntered:(id <NXDraggingInfo>)sender;
  140. - (BOOL)performDragOperation:(id <NXDraggingInfo>)sender;
  141.  
  142. @end
  143.